package zw_201_300.zw_258_各位相加;

class Solution {

    public static void main(String[] args) {
        int num = 12321;
        int n = addDigits(num);
        System.out.println(n);
    }


    /**
     * 要求O(1)解完，观察到比如一个三位数num(abc) = 100a+10b+c，而我们要求的是a+b+c，将num稍微变形num = 99a+9b+(a+b+c)，
     * 因此只要num对9取余，剩下的部分就是a+b+c。当然还要特别判断下如果一个大于10的数正好是9的倍数，最终应该返回的是9
     *
     * @param num
     * @return
     */
    public static int addDigits(int num) {
        return (num - 1) % 9 + 1;
    }
}
